import { ReactNode } from 'react';
import { CommonProps, IconEnum } from '../common';

export interface DropdownOptions extends CommonProps {
  /**
   * 文本
   */
  text?: string;
  /**
   * 向上
   */
  upward?: boolean;
  /**
   * 打开
   */
  open?: boolean;
  /**
   * 持续时长；单位：ms
   */
  duration?: number;
  /**
   * 选择框样式
   */
  selection?: boolean;
  /**
   * 值
   */
  value?: string | number | boolean;
  /**
   * input name
   */
  name?: string;
  /**
   * 占位字符串
   */
  placeholder?: string;
  /**
   * 流体
   */
  fluid?: boolean;
}

export interface DropdownMenuOptions extends CommonProps {
  /**
   * 打开
   */
  open?: boolean;
}

export interface DropdownItemOptions extends CommonProps {
  /**
   * 文本内容
   */
  text?: ReactNode;
  /**
   * 描述
   */
  description?: ReactNode;
  /**
   * 图标
   */
  icon?: IconEnum;
  /**
   * 值
   */
  value?: string | number | boolean;
  /**
   * 点击事件
   */
  onClick?: (value?: string | number | boolean, e?: MouseEvent) => void;
}

export type DropdownDividerOptions = CommonProps;
